home *** CD-ROM | disk | FTP | other *** search
Text File | 1985-08-11 | 12.1 KB | 559 lines | [TEXT/Anon] |
-
- MAC.68K
-
-
-
-
-
-
- BSS
- BSS
- BSS
-
-
-
-
- PURPOSE To switch assembly into the block storage segment.
-
-
-
-
- FORMAT BSS
-
-
-
-
- DESCRIPTION BSS changes the current assembly segment to the
-
-
- block storage segment. Instructions and data
-
-
- generating op codes may not be used within this
-
-
- segment. Storage may be allocated and symbols defined
-
-
- by using the DS op codes.
-
-
-
-
-
- EXAMPLE BSS
-
-
- BUFF DS 128
-
-
- NAME DS.B 8
-
-
-
-
-
-
-
-
-
- COMM
- COMM
- COMM
-
-
-
-
- PURPOSE To declare a common area.
-
-
-
-
- FORMAT COMM label,expression
-
-
-
-
- DESCRIPTION COMM specifies a symbol name (label) and a length
-
-
- (expression) to be set up as a shared area with other
-
-
- programs. The link utility LO68 (CPM-68K only) will
-
-
- establish one starting address for all common areas
-
-
- with the same label name. The length of this area will
-
-
- be the largest value specified from the linked
-
-
- programs.
-
-
-
-
-
- EXAMPLES
-
-
- COMM BUFFER,$100
-
-
- COMM FOO,2
-
-
-
-
-
-
-
-
-
-
- -21- MAC.68K
-
-
-
- MAC.68K
-
-
-
-
-
- DATA
- DATA
- DATA
-
-
-
-
-
- PURPOSE To switch assembly into the data segment.
-
-
-
-
-
- FORMAT DATA
-
-
-
-
-
- DESCRIPTION DATA changes the current assembly segment to the
-
-
- data segment. Any data, instruction, or reservation op
-
-
- code may be used within the DATA segment.
-
-
-
-
-
- EXAMPLE DATA
-
-
- ANAME DC.L 'QUIRK'
-
-
- BOOKS DS 120
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- MAC.68K -22-
-
-
-
- MAC.68K
-
-
-
-
-
- DC
- DC
- DC
-
-
- DC.B
- DC.B
- DC.B
-
-
- DC.L
- DC.L
- DC.L
-
-
-
-
-
- PURPOSE To declare data values.
-
-
-
-
-
- FORMAT symbol DC expression
-
-
-
-
-
- DESCRIPTION DC places the value of expression into one or more
-
-
- word, byte, or long word memory locations. Numeric
-
-
- data types are placed into a single unit of the
-
-
- specified memory size. Character data types are
-
-
- aligned and placed into however many units of sized
-
-
- memory necessary to contain the entire string. DC and
-
-
- DC.L are automatically aligned to an even word
-
-
- boundary. DC.B may begin on an odd byte boundary.
-
-
-
-
-
- EXAMPLES
-
-
- DATE DC 10L 04/21/78
-
-
- TIME DC.L #L* 11:34 *
-
-
- LIST DC.B 'A','Z',0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -23- MAC.68K
-
-
-
- MAC.68K
-
-
-
-
-
- DEFER
- DEFER
- DEFER
-
-
-
-
-
- PURPOSE To define a block of source line input that is to be
-
-
- saved and then inserted later.
-
-
-
-
-
- FORMAT DEFER
-
-
- defname DEFER
-
-
-
-
-
- DESCRIPTION DEFER marks the beginning and end of a block of
-
-
- code that is to be appended to an internal buffer.
-
-
- Multiple named DEFER buffers may be active and are
-
-
- specified by use of the defname in the location field
-
-
- of the beginning DEFER. A subsequent HERE pseudo op
-
-
- empties the specified buffer, and the accumulated
-
-
- block(s) of code are assembled. DEFERs cannot be
-
-
- nested.
-
-
-
- Defered code is saved in memory buffers until it
-
-
- is used. The number of active buffers and the amount
-
-
- of code in them is limited only by available memory
-
-
- space.
-
-
-
-
-
- EXAMPLES see example for pseudo op HERE
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- MAC.68K -24-
-
-
-
- MAC.68K
-
-
-
-
-
- DS
- DS
- DS
-
-
- DS.B
- DS.B
- DS.B
-
-
- DS.L
- DS.L
- DS.L
-
-
-
-
-
- PURPOSE To reserve storage.
-
-
-
-
-
- FORMAT DS expression
-
-
- symbol DS expression
-
-
-
-
-
- DESCRIPTION DS reserves expression number of words, bytes, or
-
-
- long words in memory. If a symbol is used in the
-
-
- location field it is assigned the current value of the
-
-
- location counter. DS and DS.L are automatically
-
-
- aligned to an even word boundary. DS.B may begin on an
-
-
- odd byte boundary.
-
-
-
-
-
- EXAMPLES
-
-
- BUFFER DS.B $128
-
-
- DS 4
-
-
- FILENAME DS.L 2
-
-
- ALIGN DS.W 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -25- MAC.68K
-
-
-
- MAC.68K
-
-
-
-
-
- DUP
- DUP
- DUP
-
-
-
-
-
- PURPOSE To define a block of code that is to be duplicated.
-
-
-
-
-
- FORMAT DUP dupcount
-
-
- dupname DUP dupcount
-
-
-
-
-
- DESCRIPTION DUP marks the beginning of a block of code
-
-
- terminated by an ENDD. The expression dupcount
-
-
- specifies the number of times the block is to be
-
-
- duplicated. The duplication may be terminated at any
-
-
- time with a STOPDUP pseudo op. A dupcount of zero
-
-
- results in no assembly of the block of code.
-
-
-
- DUP blocks may be nested up to 5 levels by using a
-
-
- dupname on the DUP/ENDD pairs.
-
-
-
-
-
- EXAMPLES DUP 10 REP4 DUP 4
-
-
- DS.B 1 DS.L 1
-
-
- ENDD DC 20
-
-
- REP4 ENDD
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- MAC.68K -26-
-
-
-
- MAC.68K
-
-
-
-
-
- ECHO
- ECHO
- ECHO
-
-
-
-
-
- PURPOSE To duplicate a block of code while supplying arguments
-
-
- for inline parameter substitution.
-
-
-
-
-
- FORMAT ECHO lnct,p1=(list1)
-
-
- dupname ECHO ,p1=(list1),p2=(list2),...
-
-
-
-
-
- DESCRIPTION ECHO marks the beginning of a block of code
-
-
- specified by the optional line count field lnct, or
-
-
- terminated by an ENDD when no line count field is
-
-
- supplied. Up to 127 parameter names with variable
-
-
- length lists may be used. The block is duplicated the
-
-
- number of times equal to the shortest argument count
-
-
- present in any of the lists. The duplication may be
-
-
- terminated at any time with a STOPDUP pseudo op. A
-
-
- list with no arguments results in no assembly of the
-
-
- block of code.
-
-
-
- Parameter names and substitution rules are the
-
-
- same as for MACRO. Null arguments are allowed, and
-
-
- arguments may be embedded within parenthesis pairs.
-
-
-
- ECHO blocks may be nested up to 5 levels by using
-
-
- a dupname on the ECHO/ENDD pairs.
-
-
-
-
-
- EXAMPLES ECHO 1,CC=(A,B,C)
-
-
- DC.B 'CC'
-
-
-
- ECHO ,AA=(1,1,2),BB=(A,B,C2)
-
-
- DS.B AA
-
-
- DC.B 'BB'
-
-
- ENDD
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -27- MAC.68K
-
-
-
- MAC.68K
-
-
-
-
-
- ELSE
- ELSE
- ELSE
-
-
-
-
-
- PURPOSE To reverse the current state of an IF test.
-
-
-
-
-
- FORMAT ELSE ELSE lnct
-
-
- ifname ELSE ifname ELSE lnct
-
-
-
-
-
- DESCRIPTION An ELSE is used to stop assembly and begin skipping
-
-
- source lines within an IF block, or to stop skipping
-
-
- source lines and resume assembly. A named ELSE with an
-
-
- ifname that matches the current skip ifname, or an
-
-
- unnamed ELSE stops source line skipping started by an
-
-
- IF, SKIP, or another ELSE.
-
-
-
- If a line count lnct is specified, then an ELSE
-
-
- that stops assembly ignores the next lnct lines.
-
-
- Otherwise the assembly ignores lines until an unnamed
-
-
- ENDC, an ENDC with a matching ifname, or another ELSE
-
-
- is encountered.
-
-
-
-
-
- EXAMPLES
-
-
-
- IFEQ OPT,10 IFEQ OPT,10 FOO IFEQ OPT,10
-
-
- MOVEQ #1,D0 MOVEQ #1,D0 MOVEQ #1,D0
-
-
- ELSE ELSE 1 FOO ELSE
-
-
- MOVEQ #2,D0 MOVEQ #2,D0 MOVEQ #2,D0
-
-
- ENDC FOO ENDC
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- MAC.68K -28-
-
-
-
- MAC.68K
-
-
-
-
-
- END
- END
- END
-
-
-
-
- PURPOSE To signal the end of program text.
-
-
-
-
- FORMAT END
-
-
-
-
- DESCRIPTION END terminates the assembly of a program. It is a
-
-
- required card and an error will be flagged if an end
-
-
- of source file input is reached without an END card.
-
-
-
-
-
-
-
-
-
- ENDC
- ENDC
- ENDC
-
-
-
-
- PURPOSE To terminate source line skipping and resume assembly.
-
-
-
-
- FORMAT ENDC
-
-
- ifname ENDC
-
-
-
-
- DESCRIPTION ENDC terminates source line skipping. If skipping
-
-
- is not active ENDC has no effect. If skipping is being
-
-
- done with a line count, the ENDC is counted as a line
-
-
- but otherwise has no effect. A named ENDC terminates
-
-
- skipping only if its name matches the active ifname.
-
-
-
-
-
- EXAMPLES IFEQ X IFEQ X
-
-
- MOVE A2,D1 MOVE A2,D1
-
-
- ELSE 6 ELSE
-
-
- IFEQ Z FOO IFEQ Z
-
-
- MOVE A3,D1 MOVE A3,D1
-
-
- ELSE 2 FOO ELSE 2
-
-
- MOVE A4,A1 MOVE A4,D1
-
-
- ENDC ENDC
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -29- MAC.68K
-
-
-